﻿Imports DTO

Public Class MCarrinho
    Inherits System.Web.UI.Page
    Dim valortotal As Decimal

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim listaCarrinho As New List(Of ProdutoDTO)
        Dim x As Integer = 0

        If Session("carrinho") IsNot Nothing Then 'Se o carrinho existir
            grvCarrinho.DataSource = DirectCast(Session("carrinho"), List(Of ProdutoDTO))
            grvCarrinho.DataBind()

            listaCarrinho = Session("carrinho")
            While x < listaCarrinho.Count()
                listaCarrinho.Item(x).pValorTotal = (listaCarrinho.Item(x).pQuantidade * listaCarrinho.Item(x).pValorVenda)
                x = x + 1
            End While

        End If
        valortotal = 0
    End Sub

    Protected Sub lbFinalizarCompra_Click(sender As Object, e As EventArgs) Handles lbFinalizarCompra.Click
        ' Verifica se o cliente está logado
        ' Se não redireciona o cliente para a tela de login
        ' Se estiver logado, ou após loga-se, redireciona o cliente para a tela de pagamento
        ' Finalização
        Response.Redirect("~/Interface/Pagamento.aspx")

    End Sub

    Protected Sub gvCarrinho_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles grvCarrinho.RowCommand
        Dim listaCarrinho As New List(Of ProdutoDTO)

        'Jogar o conteudo  da sessão na lçista do Produtos (carrinho)
        listaCarrinho = Session("carrinho")

        If e.CommandName = "Remover" Then
            listaCarrinho.RemoveAt(e.CommandArgument)
            listaCarrinho.Item(e.CommandArgument).pValorTotal = (listaCarrinho.Item(e.CommandArgument).pQuantidade * listaCarrinho.Item(e.CommandArgument).pValorVenda)
        ElseIf e.CommandName = "Adcionar" Then
            listaCarrinho.Item(e.CommandArgument).pQuantidade += 1
            listaCarrinho.Item(e.CommandArgument).pValorTotal = (listaCarrinho.Item(e.CommandArgument).pQuantidade * listaCarrinho.Item(e.CommandArgument).pValorVenda)
        ElseIf e.CommandName = "Subtrair" Then
            If listaCarrinho.Item(e.CommandArgument).pQuantidade > 1 Then
                listaCarrinho.Item(e.CommandArgument).pQuantidade -= 1
                listaCarrinho.Item(e.CommandArgument).pValorTotal = (listaCarrinho.Item(e.CommandArgument).pQuantidade * listaCarrinho.Item(e.CommandArgument).pValorVenda)
            End If
        End If



        'iNDEPENDENTE DO BOTÃO CLICADO O GRID DEVE SER RECARREGADO E A SESSÃO DO CARRINHO ATUALIZADA
        grvCarrinho.DataSource = listaCarrinho
        grvCarrinho.DataBind()

        Session("carrinho") = listaCarrinho
    End Sub

    Protected Sub gvCarrinho_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles grvCarrinho.RowDataBound

    End Sub

    Protected Sub grvCarrinho_SelectedIndexChanged(sender As Object, e As EventArgs) Handles grvCarrinho.SelectedIndexChanged

    End Sub
End Class